{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Import and setting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ---------- import\n",
    "import pickle\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ---------- figure size\n",
    "plt.rcParams['figure.figsize'] =[8, 6]\n",
    "\n",
    "# ---------- axes\n",
    "plt.rcParams['axes.grid'] = True\n",
    "plt.rcParams['axes.linewidth'] = 1.5\n",
    "\n",
    "# ---------- ticks\n",
    "plt.rcParams['xtick.direction'] = 'in'\n",
    "plt.rcParams['ytick.direction'] = 'in'\n",
    "plt.rcParams['xtick.major.width'] = 1.0\n",
    "plt.rcParams['ytick.major.width'] = 1.0\n",
    "plt.rcParams['xtick.major.size'] = 8.0\n",
    "plt.rcParams['ytick.major.size'] = 8.0\n",
    "\n",
    "# ---------- lines\n",
    "plt.rcParams['lines.linewidth'] = 2.5\n",
    "\n",
    "# ---------- grid\n",
    "plt.rcParams['grid.linestyle'] = ':'\n",
    "\n",
    "# ---------- font\n",
    "plt.rcParams['font.size'] = 20\n",
    "#plt.rcParams['pdf.fonttype'] = 42    # embed fonts in PDF using type42 (True type)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def load_pkl(filename):\n",
    "    with open(filename, 'rb') as f:\n",
    "        return pickle.load(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Gen</th>\n",
       "      <th>Spg_num</th>\n",
       "      <th>Spg_sym</th>\n",
       "      <th>Spg_num_opt</th>\n",
       "      <th>Spg_sym_opt</th>\n",
       "      <th>E_eV_atom</th>\n",
       "      <th>Magmom</th>\n",
       "      <th>Opt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>P1</td>\n",
       "      <td>1</td>\n",
       "      <td>P1</td>\n",
       "      <td>-3.393278</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>P1</td>\n",
       "      <td>1</td>\n",
       "      <td>P1</td>\n",
       "      <td>-3.391829</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>225</td>\n",
       "      <td>Fm-3m</td>\n",
       "      <td>225</td>\n",
       "      <td>Fm-3m</td>\n",
       "      <td>-3.372851</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>P1</td>\n",
       "      <td>1</td>\n",
       "      <td>P1</td>\n",
       "      <td>-3.362621</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>P1</td>\n",
       "      <td>1</td>\n",
       "      <td>P1</td>\n",
       "      <td>-3.359817</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>P1</td>\n",
       "      <td>1</td>\n",
       "      <td>P1</td>\n",
       "      <td>-3.323470</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1</td>\n",
       "      <td>221</td>\n",
       "      <td>Pm-3m</td>\n",
       "      <td>221</td>\n",
       "      <td>Pm-3m</td>\n",
       "      <td>-3.231275</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>76</td>\n",
       "      <td>P4_1</td>\n",
       "      <td>76</td>\n",
       "      <td>P4_1</td>\n",
       "      <td>-3.230274</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>2</td>\n",
       "      <td>160</td>\n",
       "      <td>R3m</td>\n",
       "      <td>160</td>\n",
       "      <td>R3m</td>\n",
       "      <td>-3.175597</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>137</td>\n",
       "      <td>P4_2/nmc</td>\n",
       "      <td>129</td>\n",
       "      <td>P4/nmm</td>\n",
       "      <td>-3.143112</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Gen  Spg_num   Spg_sym  Spg_num_opt Spg_sym_opt  E_eV_atom  Magmom   Opt\n",
       "14    2        1        P1            1          P1  -3.393278     NaN  done\n",
       "13    2        1        P1            1          P1  -3.391829     NaN  done\n",
       "0     1      225     Fm-3m          225       Fm-3m  -3.372851     NaN  done\n",
       "12    2        1        P1            1          P1  -3.362621     NaN  done\n",
       "11    2        1        P1            1          P1  -3.359817     NaN  done\n",
       "10    2        1        P1            1          P1  -3.323470     NaN  done\n",
       "5     1      221     Pm-3m          221       Pm-3m  -3.231275     NaN  done\n",
       "4     1       76      P4_1           76        P4_1  -3.230274     NaN  done\n",
       "16    2      160       R3m          160         R3m  -3.175597     NaN  done\n",
       "2     1      137  P4_2/nmc          129      P4/nmm  -3.143112     NaN  done"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rslt_data = load_pkl('./pkl_data/rslt_data.pkl')\n",
    "\n",
    "# ---------- sort Selection\n",
    "#rslt_data.head(10)\n",
    "\n",
    "# ---------- sort by Energy\n",
    "rslt_data.sort_values(by=['E_eV_atom']).head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of generation: 2\n",
      "Number of data: 20\n",
      "Success: 19\n",
      "Error: 1\n",
      "Emin: -3.3932775625 eV/atom\n"
     ]
    }
   ],
   "source": [
    "# ---------- Generation\n",
    "gmax = rslt_data['Gen'].max()\n",
    "print('Number of generation: {}'.format(gmax))\n",
    "\n",
    "# ---------- Number of structures\n",
    "ndata = len(rslt_data)\n",
    "print('Number of data: {}'.format(ndata))\n",
    "\n",
    "# ---------- check success and error\n",
    "nsuccess = rslt_data['E_eV_atom'].count()\n",
    "nerror = ndata - nsuccess\n",
    "print('Success: {}'.format(nsuccess))\n",
    "print('Error: {}'.format(nerror))\n",
    "\n",
    "# ---------- minimum\n",
    "Emin = rslt_data['E_eV_atom'].min()\n",
    "print('Emin: {} eV/atom'.format(Emin))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Energy vs. trial"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Energy (eV/atom)')"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhcAAAGeCAYAAAAnjiPFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOydeZgdVZn/P296T3cWkkBCiJCQECKBCRIHWUYIKsjIb9wdR0cHGMcN99EZHbeAo+PoDG44KrgQV9RxA0dkUSAoYdEEYiehSWjTNulsNumk+3bf3t/fH6ductO5S9Xt21X3dL+f57lP9a06p+pb91v39lunznmPqCqGYRiGYRjlYlrSAgzDMAzDmFxYcGEYhmEYRlmx4MIwDMMwjLJiwYVhGIZhGGXFggvDMAzDMMqKBReGYRiGYZQVCy4MwzAMwygrFlwYhmEYhlFWLLgwJhQRuU9EVESumkrHNo7gqw/j1S0ibUH9NeVVNvGIyAwR+YyItIrIYHAebUnrmsr49j2y4MIzRGRdcIGFeb07ab0TgYhcJSLXisjZSWsxpiZT4Br8CfAe4FQgDewD/pyooizG/A5uLFL2O0G5dTHJK4iITBeRt4rIz0WkXUT6RKRXRHaKyI9E5HUi0pC0zvFSnbQAo2SGgANFyvTGISQBrgIuBtqAxwqUaweeAA5NvCRjElLo+rmKcNegd4jISuAFuN+Yi1T1oYQlFeMcEXm5qv4kaSHFEJG/AW4CFmSt7gVGgcXB6xXAp0Tk9ap6T9way4UFF/6yQVXXJC2iklHVf0hag+EvU/j6WRks/+BBYJHhYyLyM1UdTVpIPoLHGV/HPTF4Avg48EtVfTrYPgsX1L0dWANcBHgbXNhjEcMwDCObTJN8KlEV4VgP9OECotcmrCUvIrIK+Aruf+7twLNU9TuZwAJAVQ+p6o9V9RLg74CeZNSWBwsupgAiskhERoPnjmcWKFcvIgeDci/Jsf3lInKHiPxZRAZEZJeIfFdEzilBU+Z56eI82xdnymStuyp4f3Gw6uYxfUzaxuyjaAeoqOeU3UlPROYEnd52BnU7ROSrInJinrrzROQaEblVRFpEpCd41rot2M/CAjqzj3uSiHxJRP4YHPex4PMK43GTiKSCcpflK1dO7UX2WyUi7xaRP4hIOvDh/0TkwmB7sesk8jVZ7LPMKnfM9RP1GsyqF/VaydZ4ooh8RUSeCj6jx0XkPSIyLav8q0TkN+K+v90i8otC10GeY14bnNu6YNXFY85tTY464/n+5P3sI7AX+GLw97UiEqk1fqKu6xx8HKgDOoDXqmq6UGFV/QHwmTIdOxlU1V4evXBffAXui1hvfVDvPwqUeXlQ5gBQm7V+GvDNYJsCw0BX1vsR4K159nlfUOaqMeszdRfnqbc4UyZr3atxPyaDwbZDwfvM63dhjj2ec8I9Y1fgdVl/9wL9WXV3AsflqPvfWWWGgKeD42bW7Qf+Is/nkTnWm3Ad6zLHTQGPBWXuCtZfX8DjNwRl/gRMi3D9jEd7vmugBncXl73frqy/X5HvOhnnNVn0s8ynO8o1OM5rJVP+amBP1rGyP/MbgrL/mfUZdGdt7wJOi+Dx+4JzOBTUHxxzbheU8ftT8LOP8Dv4fWBuluY35ij7nWDbunJe1xG0noTrU6HAv45jP8dcj5X8SlyAvSIaVnpw8eag3h8LlPnfoMxXx6z/QLB+FPgwMCNYfxLww6wfk4ty7DPnFyLry7s4j5bFmTJh9xmlXKnnlPXj2AU8CpwfrK8GXpz1A/vpHMd8J/BvwFlAdbCuClgN3BHU2wJIjrqZ4/YAf+DoH/plwfJvgzL7MvvPsZ/fBmU+FvH6GY/2fNfAdRz5x/QuoCFYfwrwc47+Z7V4TN3xXJNFP8sQ10/Ra3Cc10qm7kFgA8E/OGB6cL6Zc/8gLgh4F9AYlDkTaAnK/DCKz0H9qyjyG1Pq5x/2sw+hcV2wn+8H768N3rcDdWPKFgouSr6uI2j9+6zreMU49lP0mqukV+IC7BXRsCNfqrF3FbleM7PqzeHI3db5OfY7A/fsUoFLstY3ceSu4JM56lUBvwm2359je84vBHn+aWRtX5wpE3afEY5d8jll/TjuBebmqPteigRxebTWAVuDuhfn2J45bhcwP88+ajlyN/iSHNuXc+QfwpIyXpPFtB/jQ3C9pYL1H8xRpwY3CuOY66QM12TRz7LYdRbmGhzPtZJV9wAwO8f2X2d9Nh/Nsf25wbZ+slohQ/p5FQWCizJ9fwp+9iE0ruPo4GImrtVBgXeNKZs3uBjPdR1hPx/P8mI8QUrRa66SXtbnwl9qgPlFXof9VdUDwJ3B29fk2N9LcR25OnCPUDJcivviDgKfHltJVUeAfw/ePldEFowtU4GU45xu0qzOWFn8LFguEZHGsIJUdQC4O3h7YYGi31LVfXn2MQh8K3j7jzmKXB0s71PVnWG1FSOC9mwuAxpxP7hfyLHPIfI/cy7XNZn3sywz47lWvqKqB3Os/1WwHCT35/QA7rOtA5ZFERuCcnz+Zf3sVbU7S8u/RfnuFdhnKdd1LuYGyy4NooSpgAUX/rJeVaXIa+yP0veC5d+KSNWYbZme1j/Qo4dzZTpmbVbVrjxa7sc1gWaXr2TKcU6/y1OvI+vv2WM3isgKEfli0IGxO6sTpuKatgEKdSJ7sMA2gK8FyxeJyPys41YBmaGVXy+yj5yUQXs2zwqWj6lqvlEJv8mzvlzXZLHPslyUdK0ENOdZvz9YtuX6/ILvcGfw9riiCqNRjs9/Ij77G3CPBOfjHneEotTrWkROE5Fbgo62fSKyXUQ+KSL5vJwwKklLBstzMbW4Fdd5aj7wPIKoXETm4cZXw5EAJMPxwbKDPKhqv4h0Bvs9Pl+5CqIc55RzmFhQL/O2JnubiPwdrmUhs34U17w8ELxvwt3NF7rrKpglUVUfF5ENwAW4joTXB5sux/1AHsJlX4xEmbRnMy9Y7ilQZnee9eW6JuPKOBn5Wski3+czUmR7dpl8+y6Vcnz+Zf/sVbVPRP4D+DzwLyLyJVUtmECv1OtaRJ4BPILz9su483k28C+4HBXnZxXPtFodJyJS7taLiFpiw1ouphCq2ocLMODoMeGvwgWaT6hqvlS69ROpLSFiOycROR74Ku5H7Ae4L3+9qh6nqgtUdQHw2UzxArsaKbAtw1eD5dVZ6zJ/36JFhsGNpYzay814/QvzWRr5Gc/nP1Gf/Y3AU7jWmvcWKjjO6/r1uNamK1T1P1T1q6r6ZtwjvvNE5JlZZR8PlnXA6aWfWl6iaIkNCy6mHpmWiZeJSF3wd6YPxi05ymfuME7Ot0MRqefIc8WwdySZH5d8P1CzQu6nFCbqnArx17i7oG24ce4bg34F2cw/tlpJ/BA3JHGliPxl0DL1N8G2b5Swv4nQnmmyz5nnoci2JPwzjlCxn3/QTyLT3+PdwbWfj/Fc15nfp7EtR5n3fVnrMmkAwI0SKjdRtMSGBRdTj7twzXSzgCuCJrW/CraNfSQCsClYniYiJ+XZ50UcecS2KU+ZsWT6gyzKs/0vC9TN9Akp9S55os6pEJnz/IPmSFEsrn38eWU4TqaFKhMo/iNuKFwtsEVV8z3/L8REaH80WJ4tIk15yjw3z/ok/BvLeK9Bn6mEz78QNwOtuBFJHyhQbjzXdabT+80ico64RIUvwz2K+K6q/ilTUFV34fK5ALxDRGaGOQnJemZWhNBa4sSCiylGEJn/b/D2Nbg0swL8XlV35KhyF+4uuAZ3sR5F0FHwI8Hb36jq3pBSMh3VcmUCrQMKzejaHSxL7aw0UedUiMyz3zPz/Gi8EVhahuNkyDwa+btg31BiR04mRvtduP4/9cDbxm4MMi2+p0DduP0by3ivQZ+phM8/L6o6jMt7AXAN+VvASr6uVfV2YC3wfGAj7lHMT3C/rbnmpPkwrh/HIuB7QctOXkTkb4F/LlRmHFpiwYKLqUmmheL/ceRZfK5WC1S1F/iP4O07ReRDmTvN4K7lFlzLRyaZTlh+GCzfKCJXZx7RiJuR8XYKjzrYGixfLm6yn0hM4DkV4le4ptEzgS9kenGLyEwR+RfgfzjS8WvcBH1nHsP981uJGzb4nRJ3V3btqtrDkefZHxeRd0gwzbSInAz8CFiSp24S/o1lXNegz1TI51+M7+EedzSQv/VhvNf1H3EJzq4BXobrSPpmXMbUo1DVx3BBtAJXAI+Km1p9TqaMiMwSl079XlwfkBnhTze8lthIMsmGvaK/iJZE6/N59iG49M+ZJDwjwIkFjlnFsal+D3Akpe0IcE2euveRO5FVDfBQ1j6HOJKY52lci0a+JForcHcBmXoduOQ8vw1z7PGcE0eSAK0p8HnlTBCGy0egWa+u4DiKywaYSbazrpTj5qjztqxj/Wic1914tOe7BmpxuVeyr4FM1spB3I9kZtuJY+qO55oM9VkWuX6KXoPjvFYK1iVcFs3I10yEfU/Y9yekxnVkJdHKUyY7fXy+a7Ok6xrXItjPmGR0wMeCz+CsPJpeihsum33MHo5O267B5zQ2u2nO67FULRP9spYLfwmTRCvnHZW6K+/7WavuU9W8Q9pUdURVrwReiWsSPYjrCLUHd5dyrqp+KYp4dY9nLgX+C/dFGsU1k6/Dpd7dXKBuS1D3DlxAsgCXMjpf/41YzinEMf8ZN6fCo7h/TFXB3+/G3c0Ml/N4HD3ktJSOnIeZCO3qkn5dgevVvwX3oz6MS/19EXBvVvGDY+rG7t+Y44/7GvSZpD//kPyEIv09xnFdX4PL87FzzPqf4W7ecibdUtWfAafiAv/bgV24vinVuN/BH+FG8p2uqvcXPLtxaploJIhwDMOYZIjI3+MehXQAp6jLnOgNIvJ8XNP1n1R1ccJyDOMwIvIEkFLV1WPWnws8DLxDVb+Ys/Ik1pLNpGm5EJFPiciv5ci0xAdE5FERWSsic4vv4ah9LRKRb4jIbnFTAbeJyOdEpNyZ7gxjInlLsPyGb4FFQKaz4N0FSxlG/DwB/EXQRyyb1wXLfPmCJruWw0yalgsRGcQ1gW3DpcZtBM7DJUbZDZynqk+F2M9SXMeYE3AJp1qAc4FLcCZeqLnnCTCMikFE3oBLBT4AnKqq+bJdJkYwquAHOJ0PapBNMfiRvA73zHwIWK2q+dJgG0bsiMhzgXtwj8S+iOvj9jxcQsK7VPWFU1HLUbomUXBRr6r9OdZ/Ajct8ZdV9ZoQ+7kTN6nSO1X1hqz1n8ENjbtRVd+Sr75hJIWILMJNqT4DNwsuwL+r6keTU5WfYLhpdtKibtyz5+nB+1Hgrap6U9zaDKMYIrIaN+T1Wbib0Q5csHydRsyCO5m0HNY0WYKLfIjIKtyQvF+p6qVFyi4FnsR1rFmqWYlVRGQGrrOSACeoG45lGBWDiCwGduL+Kf8Jl+viU5ojQVAlEOQWeAvwQuAs3I9iDe7O637gc6oadwImwzDKwFSYuCyT9vgPIcpeEizvGvuDrKo9IvIArlXjPODX5ZNoGONHVdvwKGNkMGrpy8HLMIxJxKQLLkTkfbghUbNw/S3+ChdYhEkmkplUZnue7TtwwcVysoILEXkUN/Pfk6WpNgzDMAzvWAb8WVWfNXbDpAsugPdx9GQzd+CSjoSZPCeTFyLfNL2Z9WNT/h5fW1t70uDgYL48+5xyyinMmzePpqYmenp6mDFjBqlUiqamJvr6+qivr2dgYICamhpGRkYQEUSEkZERampqGBgYoKGhgd7e3qP2kVn29vbS0NDAwMAAtbW1DA8PM22aGww0OjpKdXU1g4OD1NXVkU6naWxsPGYfqVSKxsZG0uk0dXV1DA0NUVVVdTgpSlVVFUNDQ9TV1dHf38/06dMPn4Odk52TnZOdk53T1Dqn5uZmenp6cv7Pm3TBhbppchGR+cAFuBaLR0Xk/03g89snV61addIjjzwyQbs3ysm2bds444wzkpZhFMF88gPzyQ8mwqc1a9awfv36nC32kybPxVhUdZ+q/hT3GGMu8K0Q1TItE/nmCsisPzh2Q319wXlojApiyZKcU1YYFYb55Afmkx/E7dOkDS4yqJtudhuwUkTmFSn+RLBcnmf7acHymD4ZAwMDpQk0Ymf37opL+WDkwHzyA/PJD+L2adIHFwGZGTaLZSnMzGVwmYgc9dkEQ1EvBPpwE24dRU1NzXg1GjExZ86c4oWMxDGf/MB88oO4fZoUwYWILM817bGITAuSaJ0AbFDVrmB9jYisCPJaHEZVW3GT8CzGTSyTzXW4rJ/fzpXjYmTEx+zKU5O+vr6kJRghMJ/8wHzyg7h9miwdOl8EfFJEfotLIvQ0bsTIxbgZ6PYCb8wqfxLwOC7R0OIx+7oGl/77C8HESY8Dz8HlwNgOfCiXAJcPyPCBTM9ro7Ixn/zAfPKDuH2aLMHFr3Djbf8Kl/50Nm767u3At4EvqOqBMDtS1VYReTbwMeByXOCyB/g8LpVqV656Flz4gz3C8gPzyQ/MJz+I26dJEVyo6hbg7RHKt1Egk2EwwdnVUTTYYxF/SKVSzJtXrG+vkTTmkx+YT34Qt0/WnlUmLHr3B/sh9APzyQ/MJz+I2ycLLsqEDUX1h127diUtwQiB+eQH5pMfxO2TBRdloqGhIWkJRkiWLVuWtAQjBOaTH5hPfhC3TxZclIneXpuB3Re2bt2atAQjBOaTH5hPfhC3TxZclImmpqakJRghWbVqVdISjBCYT35gPvlB3D5ZcFEm8s0MZ1QeGzduTFqCEQLzyQ/MJz+I2ycLLsrEjBkzkpZghGT16tVJSzBCYD75gfnkB3H7ZMFFmbCWC3+wOy0/MJ/8wHzyA2u58BRrufAHu9PyA/PJD8wnP7CWC0+x0SL+0NzcnLQEIwTmkx+YT34Qt08WXJQJy3PhD8uXL09aghEC88kPzCc/iNsnCy7KhGXo9If29vakJRghMJ/8wHzyg7h9suCiTNTW1iYtwQjJ/Pnzk5ZghMB88gPzyQ/i9smCizIxPDyctAQjJAcPHkxaghEC88kPzCc/iNsnCy7KxLRp9lH6Qn19fdISjBCYT35gPvlB3D7Zf0TDMAzDMMqKBRdlYnR0NGkJRkj6+/uTlmCEwHzyA/PJD+L2yYKLMlFdXZ20BCMks2fPTlqCEQLzyQ/MJz+I2ycLLsrE4OBg0hKMkOzbty9pCUYIzCc/MJ/8IG6fLLgoE3V1dUlLMEJy8sknJy3BCIH55Afmkx/E7ZMFF2UinU4nLcEIyfbt25OWYITAfPID88kP4vbJgosy0djYmLQEIyRnnXVW0hKMEJhPfmA++UHcPllwUSZsynV/sCmi/cB88gPzyQ9synVPsSnX/cGmiPYD88kPzCc/sCnXPcVaLvzB7rT8wHzyA/PJD6zlwlOs5cIf7E7LD8wnPzCf/MBaLjwllUolLcEIyebNm5OWYITAfPID88kP4vbJgosyYaNF/GHlypVJSzBCYD75gfnkB3H7ZMFFmbA8F/7w5JNPJi3BCIH55Afmkx/E7ZMFF2XCMnT6w6JFi5KWYITAfPID88kP4vbJgosyMTQ0lLQEIySdnZ1JSzBCYD75gfnkB3H7NCmCCxGZKyL/JCI/FZEnRSQtIodE5Lci8gYRCX2eItImIprntTdfvaqqqvKcjDHhNDU1JS3BCIH55Afmkx/E7dNkmSf8VcCXgT3AvUA7MB94OfA14K9F5FWqqiH3dwj4XI71eYeEhN+1kTTWyuQH5pMfmE9+ELdPkyW42A68GPiFqo5mVorIB4FHgFfgAo0fh9zfQVW9NooACy78YXR0tHghI3HMJz8wn/wgbp8mxWMRVb1HVX+eHVgE6/cCXwnerplIDfZYxB+mT5+etAQjBOaTH5hPfhC3T5MiuChCpi1oOEKdOhF5nYh8UETeJSKXiEjB6MGaBv3hwIEDSUswQmA++YH55Adx+zRZHovkRESqgX8I3t4RoeoC4Ntj1u0UkatVdX2uCjYU1R8WLlyYtAQjBOaTH5hPfhC3T5O95eI/gTOB21X1zpB1bgaejwswGoGzgBuBxcAvRWRVrkr9/f3jFmvEw86dO5OWYITAfPID88kP4vZp0gYXIvJO4L1AC/D6sPVU9bqgD8c+Ve1T1S2q+hbgM0ADcG2uert370ZE8r7Wrl3Lpk2bgCOz023atInR0VG2bdtGOp2mtbWVrq4uOjo62LNnD52dnbS1tZFKpWhpaWF4ePhwfvjMPjLL5uZmBgYG2LFjB93d3bS3t7N//372799Pe3s73d3d7Nixg4GBAZqbm3PuY/PmzQwPD9PS0kIqlaKtrY3Ozk727NlDR0cHXV1dtLa2kk6n2bZtG6Ojo16e0/HHHz/pzsl88uOczCc/zsl8CndOhW6qZTKOchCRtwM3ANuA5wcdO8e7z2XADuCAqs4ds+2+1atXX/z73/9+vIcxYmDTpk2cc845ScswimA++YH55AcT4dOaNWtYv379elVdM3bbpGu5EJF34wKLLcAl5QgsAv4cLHPOUGaJZPzBfgj9wHzyA/PJD+L2aVIFFyLyfuCzwGO4wGJ/GXd/XrD8Y66NPT09ZTyUMZFkmv2MysZ88gPzyQ/i9mnSBBci8hFcB86NuEcheROpi0iNiKwQkaVj1j9TRI5pmRCRxcAXg7ffybXPGTNmlKjciJvVq1cnLcEIgfnkB+aTH8Tt06QYiioiVwIfA0aA3wDvFJGxxdpUdV3w90nA48CfcKNAMrwaeK+I3B9s6wGWAlcA9cDtwH/n0pBK5c0MblQY9ozYD8wnPzCf/CBunyZFcAEsCZZVwLvzlFkPrCuyn3uB04FnARfi+lccBH6Ly3vx7Xzzk1ifC384++yzk5ZghMB88gPzyQ/i9mlSPBZR1WtVVYq81mSVbwvWLR6zn/Wq+hpVXaGqs1W1RlWPV9VLVfVbhSY+6+vrm7gTNMpKS0tL0hKMEJhPfmA++UHcPk2K4KISqK+vT1qCEZIlS5YUL2QkjvnkB+aTH8TtkwUXZWJgYCBpCUZIdu/enbQEIwTmkx+YT34Qt08WXJSJmpqapCUYIZkzZ07SEowQmE9+YD75Qdw+WXBRJkZGRpKWYITE+sf4gfnkB+aTH8TtkwUXZSLH0FejQpk2zS57HzCf/MB88oO4fbKrokxYcOEP9gjLD8wnPzCf/CBunyy4KBP2WMQfLOGZH5hPfmA++UHcPllwUSYseveHefPmJS3BCIH55Afmkx/E7ZMFF2XChqL6w65du5KWYITAfPID88kP4vbJgosy0dDQkLQEIyTLli1LWoIRAvPJD8wnP4jbJwsuykRvb2/SEoyQbN26NWkJRgjMJz8wn/wgbp8suCgTNnGZP6xatSppCUYIzCc/MJ/8IG6fLLgoEz09PUlLMEKycePGpCUYITCf/MB88oO4fbLgokzMmDEjaQlGSFavXp20BCME5pMfmE9+ELdPFlyUCWu58Ae70/ID88kPzCc/sJYLT7GWC3+wOy0/MJ/8wHzyA2u58BQbLeIPzc3NSUswQmA++YH55Adx+2TBRZmwPBf+sHz58qQlGCEwn/zAfPKDuH2y4KJMWIZOf2hvb09aghEC88kPzCc/iNsnCy7KRG1tbdISjJDMnz8/aQlGCMwnPzCf/CBunyy4KBPDw8NJSzBCcvDgwaQlGCEwn/zAfPKDuH2y4KJMTJtmH6Uv1NfXJy3BCIH55Afmkx/E7VN12IIishx4AXARcDIwD0gD+4HHgHuBe1S1fwJ0GoZhGIbhCUWDCxH5O+Aa4MLMqhzFng/8M3BQRNYBN6hqW5k0esHo6GjSEoyQ9Pdb/OsD5pMfmE9+ELdPedvyReQSEXkU+B5wJvBN4E3A2cACoBaYBZwKvAj4d+AJ4D3A4yLyKRGZObHyK4fq6tCNQEbCzJ49O2kJRgjMJz8wn/wgbp8K/Uf8NbAJeDVwm6rmGmvZE7zagDuAa0XkNOAtwNuBFC7omPQMDg4mLcEIyb59+5g5c8rEvd5iPvmB+eQHcftUKLh4har+NOoOVXUH8F4R+S9gcanCfKOuri5pCUZITj755KQlGCEwn/zAfPKDuH3K+1iklMBiTP29qvrQePbhE+l0OmkJRki2b9+etAQjBOaTH5hPfhC3TzZ+skw0NjYmLcEIyVlnnZW0BCME5pMfmE9+ELdPJQUX4jhRRE7O9Sq3SB+wKdf9waaI9gPzyQ/MJz+I26dIQxxE5FXAB3CjR/LV1aj7nQzYlOv+YFNE+4H55Afmkx/E7VOUJFpvA74ADAMPAB3B3wbWcuETGzdutB9EDzCf/MB88oO4fYrSwvAeXDbOC1R15wTpiYyIzAVeBlwBnAWcBAwCzcDNwM2qGjrDlYgsAj4GXA7MBfYAPwOuU9WufPWs5cIf7IfQD8wnPzCf/CBun6L0uTgJ+N9KCiwCXgV8FXgO8DDwOeDHuEc3XwN+KCK5sooeg4gsBTYCVwOPAJ8F/gi8C3gwCGRykkqlxnEKRpxs3rw5aQlGCMwnPzCf/CBun6K0XDwFVGIyh+3Ai4FfZLdQiMgHcQHCK4CX4wKOYnwJOAF4p6rekLWvz+Babj6BSxB2DDZaxB9WrlyZtAQjBOaTH5hPfhC3T1FaLr4J/LWIVFT7v6reo6o/H/voQ1X3Al8J3q4ptp+g1eIyXLbR/xmzeS3QC7xeRHJGEZbnwh+efPLJpCUYITCf/MB88oO4fYoSXPwn8DvgVyJycaUFGXkYCpZhOp5eEizvyhGo9OA6sU4HzstV2TJ0+sOiRYuSlmCEwHzyA/PJD+L2KXRwoaojuDv6ZcA9uBlQR3K8KmIEiYhUA/8QvL0jRJXTg2W+NGY7guXyXBuHhoZyrTYqkM7OzqQlGCEwn/zAfPKDuH0KHVyIyEuAO4HjcI8ONgD353j9puwqS+M/cZ06b1fVO0OUnxUsD+XZnlmfc2q5p556ChHJ+1q7di2bNm0CjiQz2bRpE6Ojo2zbto10Ok1raytdXV10dHSwZ88eOjs7aWtrI5VK0dLSwvDw8OFOOZl9ZJbNzc0MDAywY8cOuru7aW9vZ//+/ezfv5/29na6u7vZsWMHAwMDNDc359zH5s2bGR4epqWlhVQqRVtbG52dnezZs4eOjg66urpobW0lnU6zbds2RoqcUGAAACAASURBVEdHvTynkZGRSXdO5pMf52Q++XFO5lO4cyo0jbuoat6NRxV006+fClyhqr8NVSkhROSdwOeBFuBCVT0Qos5NwBuBN6rq13Js/wTwQeCDqvrJMdvuO//88y/esGFDWfQbE8uePXs48cQTk5ZhFMF88gPzyQ8mwqc1a9awfv369aq6Zuy2KH0uTgdu8SCweDsusNgGXBImsAjItEzMyrM9s/5gro1hgzQjeUZHQ6c9MRLEfPID88kP4vYpSnDRiUtOVbGIyLuBG4AtuMBib4TqTwTLnH0qgNOCZc4+GVVVVREOZSTJ9OnTk5ZghMB88gPzyQ/i9ilKcPFj4FIRqZkoMeNBRN6PS3r1GC6w2B9xF/cGy8tE5KjPJRgZcyHQB+ScRt46dPrDgQNhG7OMJDGf/MB88oO4fYoSXHwY6AL+V0QWT4iaEhGRj+A6cG4Enq+qebvFikiNiKwI8locRlVbgbuAxcDbxlS7DmgEvq2qvbn2a0NR/WHhwoVJSzBCYD75gfnkB3H7FCVDZzNQg0uz/TcicpDcIytUVZfmWD8hiMiVuLlARnAjVd6ZI9t3m6quC/4+CXgc+BMukMjmGtwomC+IyPODcs/B5cDYDnwon45CvWaNymLnzp2cccYZScswimA++YH55Adx+xQluJiGS0bVnrUu15wdoebxKCNLgmUV8O48ZdYD64rtSFVbReTZHJm47EW4ics+T5GJy+y5oz+sWLEiaQlGCMwnPzCf/CBun6Ik0VqsqkvCvCZScA5d16qqFHmtySrfFqxbnGd/T6nq1ap6oqrWquopqvruQoEF2MRlPvHYY48lLcEIgfnkB+aTH8TtU5Q+F0YBmpqakpZghOScc85JWoIRAvPJD8wnP4jbp5KDCxGZISLPEJGZ5RTkKz09PUlLMEKSyUBnVDbmkx+YT34Qt0+RggsRqRaRD4jIk7hkUm1Al4g8GayP0odjUjFjhg/zuBkAq1evTlqCEQLzyQ/MJz+I26coc4vU4oZqfgI3yuIp4JFguThY/6ug3JTD+lz4QyaHvlHZmE9+YD75Qdw+RWm5+GdgDfAL4JlBB8/zg46RpwM/B54blJtyWJ8Lfzj77LOTlmCEwHzyA/PJD+L2KUpw8VpcWu2XquqO7A1BAqqXA1uBvy+fPH/o6+tLWoIRkpaWlqQlGCEwn/zAfPKDuH2KElwsA36pqjlnPwnW/xKILYFWJVFfX5+0BCMkS5bEOlraKBHzyQ/MJz+I26cowcUgUKztvxGYkpNsDAwMJC3BCMnu3buTlmCEwHzyA/PJD+L2KUpw8QfglSJyfK6NIjIPeCWwuRzCfKOmpiLnczNyMGfOnKQlGCEwn/zAfPKDuH2KElx8ETgeeERE3iAip4pIg4gsEZGrgYeD7V+cCKGVzsjISNISjJBY/xg/MJ/8wHzyg7h9Cp2XQlV/KCJnAx8AbspRRIBPq+oPyyXOJ3JMlmZUKNOmWWJaHzCf/MB88oO4fYqU9EpVPygitwFvAJ4FzMLNjPoo8A1VfbD8Ev3Aggt/sEdYfmA++YH55Adx+xQ5o6aqPgQ8NAFavMYei/hDKpVi3rx5ScswimA++YH55Adx+xQlQ+dHReSiImWeKyIfHb8s/7Do3R/sh9APzCc/MJ/8IG6fojyEuRaXobMQFwFrSxXjMzYU1R927dqVtAQjBOaTH5hPfhC3T+Xu4VED5EyyNdlpaGhIWoIRkmXLliUtwQiB+eQH5pMfxO1TuYOLc4DOMu/TC3p7e5OWYIRk69atSUswQmA++YH55Adx+1SwQ6eI3DNm1VUisiZH0SrgGcApwC3lkeYXNnGZP6xatSppCUYIzCc/MJ/8IG6firVcrMl6KW5q9TU5XhfiUn//AHhPmTV6QU9PT9ISjJBs3LgxaQlGCMwnPzCf/CBunwq2XKjq4eBDREaBa1X1YxOuykNmzJiRtAQjJKtXr05aghEC88kPzCc/iNunKH0urgZ+NlFCfMdaLvzB7rT8wHzyA/PJDyqq5SIbVf3mRArxHWu58Ae70/ID88kPzCc/qOSWi8OIyCIReY6IXJTrVW6RPmCjRfyhubk5aQlGCMwnPzCf/CBunyKl/xaRy4DPAiuKFK0qWZGnWJ4Lf1i+fHnSEowQmE9+YD75Qdw+RUn/fR7wf8Bs3LTqAtwPfBVoCd7/HJiSHT4tQ6c/tLe3Jy3BCIH55Afmkx/E7VOUxyL/BvQDf6mq7wrW3auqbwHOBD4OvAD4UXkl+kFtbW3SEoyQzJ8/P2kJRgjMJz8wn/wgbp+iBBfnA7ep6u6x9dXxUeBx4Loy6vOG4eHhpCUYITl48GDSEowQmE9+YD75Qdw+RQkuZgHZ7SqDuMRZ2TyAm7xsyjFtWrkzqRsTRX19fdISjBCYT35gPvlB3D5F+Y+4HzhuzPulY8rUANaz0TAMwzCmMFGCi+0cHUw8BFwqIssBRGQB8ApgR/nk+cPo6JScDNZL+vv7k5ZghMB88gPzyQ/i9ilKcHEHcLGIzAnefx7XSvGoiPwON2LkeOBz5ZXoB9XVkUb1Ggkye/bspCUYITCf/MB88oO4fYoSXNyI608xBKCqDwCvAnbiRovsAd6qqt8qt8hiiMgrReQGEfmNiHSLiIrId0rYT1tQN9drb6G6g4ODpZ+AESv79u1LWoIRAvPJD8wnP4jbpyjpv7uBh8es+ynw03KLKoEPA6uAFLCL4km+CnGI3K0vqUKV6urqxnFII05OPvnkpCUYITCf/MB88oO4fSrYciEinw9SektcgkrkPcByYCbw1nHu66CqXpvj9d+FKqXT6XEe1oiL7du3Jy3BCIH55Afmkx/E7VOxxyJvA+4F9onI10TkChGpuGxRqnqvqu5QVU1KQ2Pj2FG5RqVy1llnJS3BCIH55Afmkx/E7VOxxyILgZcCLwNeh5t2vVdEbsc9DrldVSfbXON1IvI64GSgF/gDcL+qjhSqZFOu+8PGjRsrcibHweFRHmjt5M4te9nZ2Uv/0Aj1NVUsmdfIC89cwIVL51FbPXXyqVSqT8bRmE9+ELdPBYMLVd0P3ATcJCIzgL/BBRovAv4WGBCRX+MCjdtU9c8TrDcOFgDfHrNup4hcrarr81WyKdf9oRJ/CO/aupdvbmhjb3c/h9JDpAdHGFWYJtD65xS/azvAgln1XHn+Yi5buSBpubFQiT4Zx2I++UHFTrmuqj2q+j1VfRVuyOlLgO8Dz8FNXrZbRO4XkXeJyCkTI3fCuRl4Pi7AaATOwo2SWQz8UkRW5atoLRf+sHHjxqQlHMUtj7Rz/d3b2bK7m87UINNrqzllbiNLj2/klLmNTK+tpjM1yJaObq6/ezu3PDI1JoqqNJ+M3JhPfhC3TyW1sarqgKr+XFWvBubj/iF/GTgFNyX7H0XEuytOVa9T1XtUdZ+q9qnqlmBits/gcnpcm6/uvn37EJG8r7Vr17Jp0ybgiMmbNm1idHSUbdu2kU6naW1tpauri46ODvbs2UNnZydtbW2kUilaWloYHh5m8+bNR+0js2xubmZgYIAdO3bQ3d1Ne3s7+/fvZ//+/bS3t9Pd3c2OHTsYGBigubk55z42b97M8PAwLS0tpFIp2tra6OzsZM+ePXR0dNDV1UVrayvpdJpt27YxOjrq5TmdcsopFXNO312/ha/f/yS7DvTSWCMsnFlL3bQRRJT+/n6qpgk1OsgzjmugYdoIHV19fOXXj3NH827zycNzMp/8OCfzKdw5FUrMJeXuAykizwZeDrxUVc8o687DHX8NrhPqd1X1dWXa5zJc5tEDqjo3x/b7Vq9effHvf//7chzOmGA2b97MqlV5G6FiY3B4lKtvfoQtu7uZ1VDDrIaaonUOpYc4lB7izJNmcvNV507qPhiV4pNRGPPJDybCpzVr1rB+/fr1qrpm7LZiQ1F/KiKXRzmYqv5eVT+YRGAxgWT6kuQdEmKjRfxh5cqVSUsA4IHWTvZ2u8h/Zn24lDOZcnsP9bOhtXPCtFUCleKTURjzyQ/i9qnYbc9LgF8EmSs/LCInxSGqAjkvWP4xXwHLc+EPTz75ZNISALhzy14OpYeY1VBD2FQyIsKshhoOpYe4Y0vBpLHeUyk+GYUxn/wgbp+KBRevA+4HngFchxs1cWuQ76LSE2vlRERqRGSFiCwds/6ZInJM84OILAa+GLzNm1LcMnT6w6JFi5KWAMDOzl7SgyM01UWbl6aprpr04AhtT/dOkLLKoFJ8MgpjPvlB3D4VG4r6PeB7wT/iNwL/gBuO+v9wo0O+DnxdVZ+acKUFEJGX4vJxgBvpAXC+iKwL/u5U1fcFf58EPA78CTcKJMOrgfeKyP3Bth7cLLBXAPXA7UDeLJ1DQ0PjPg8jHjo7O2lqakpaBv1DR4abRmGawKhCerBg6hXvqRSfjMKYT34Qt0+hbplUtRX4gIh8CHgx8E/AC4GPAh8SkTtxw1F/rqpJzD1+NnDlmHWnBi9wwcL7KMy9wOnAs4ALcf0rDgK/xeW9+HahDKBVVVXRVRuJUCk/hPU1VYcDhaoIAUYmIGmondzXXKX4ZBTGfPKDuH2K1B4bZKn8KfDToP/FG4B/xCXV+mtgr4h8Q1U/UnalhXVdS4FhomPKtgHH/JQHCbLyJskKsd9SqxoxUymtTEvmNdL65xSpgeFQI0UypAaGaaitYvHcyd2JuFJ8MgpjPvlB3D6VPI5NVTtU9WPAEuBy4EHgROCDZdLmFRZc+MPoaBKNa8fywjMXHO6cGfb6UdXDnUAvP3NyZ+qsFJ+MwphPfhC3T+MaJC8iVbgRJe/EZeoEmJJXmj0W8Yfp06cnLQGAC5fOY8HMegC6+4dD1cmUWzCrnguWzpswbZVApfhkFMZ88oO4fSopuBCRpSLySeAp4Me4xyJ7gExLxpTDmgb94cCBA0lLAKC2ehpXXrCYBbPqOdA7ULAFI9NicaB3kAWz6rnqgiWTOoEWVI5PRmHMJz+I26fQfS6CqdZfgRs1cjGu38II8H+4yc1+mVBnzorAhqL6w8KFC5OWcJjLVi7g6d5B1m1oY++h/sOPPJrqqg939kwNDHMo7YLXk45r4KoLFnPpGfMTVj7xVJJPRn7MJz+I26eiwYWIrMQFFK8DjsMFFX8Cvg58Q1V3T6hCTyiUY92oLHbu3MkZZ1ROAtnXnHsycxtr+eaDRwKMp1MDR40KmddUe7jFYioEFlB5Phm5MZ/8IG6fCgYXIvIQ8Je4gGIYuBXXSnFnoWGZUxF77ugPK1asSFrCMVy2cgFrTj+BDa2d3LFlL21PuwRbmVEhl5+5gAuWzpv0j0KyqUSfjGMxn/wgbp+KtVycC+wEvoZrpdg38ZL8JJVKJS3BCMljjz3GOeeck7SMY6itnsaa009gzeknJC2lIqhUn4yjMZ/8IG6figUXl6nqr2JR4jmWSMYf7IfQD8wnPzCf/CBunwq2seYLLESkUUSeJSLPnRhZ/tHT05O0BCMkGzduTFqCEQLzyQ/MJz+I26dID3BFZJGI/BjoAn6PS5md2fZXIrJNRNaUV6IfzJgxI2kJRkhWr16dtAQjBOaTH5hPfhC3T6GDCxE5EXgYlzTr/3AZObPTaD8MnICbAGzKYX0u/GHTpk1JSzBCYD75gfnkB3H7FKXlYi0ueLhUVV8O3J29UVWHgN/gJv2aclifC384++yzk5ZghMB88gPzyQ/i9ilKcPEi4DZVvbdAmXZgSmZU6evrS1qCEZKWlpakJRghMJ/8wHzyg7h9ihJczAd2FCkzhJuqfMpRX1+ftAQjJEuWTMkM9d5hPvmB+eQHcfsUJbg4ADyjSJnlwN7S5fjLwMBA0hKMkOzebUllfcB88gPzyQ/i9ilKcPEA8GIRyTnPs4ichpt6vdBjk0lLTU1N0hKMkMyZMydpCUYIzCc/MJ/8IG6fQk9cBvwXbqTIehF5NzAdXM4L4CLgs7jp1q8vt0gfGBkZSVqCEZK+vj6OO+64pGUYRTCf/MB8KgPDg7BzPTx+Gzz9Rxjqg5rpMPdUeOaLYcnFUF07rkPE7VPo4EJVHxaRNwNfxg1FzdAdLIeBf1TVrWXU5w0iUryQURFMmzZ15ufwGfPJD8yncdLyC3j4RujZA+kuGEqDjoJMg84noP0hmLkQzn0TrLii5MPE7VOUlgtU9Rsi8hvgGuA8YC5wCHgI+KKqPlF+iX5gwYU/2CMsPzCf/MB8Ggcb17nAojvoD9EwG5rmg1SBjsBgClL73euej0Pvn2H1VSUdKm6fIgUXAKq6A3jPBGjxGnss4g+pVIp58+YlLcMogvnkB+ZTiWRaLA4+BY1zoW4WZN+kSjXUz3brBw65cg/fCI0nwIoXRT5c3D5Ze1aZsOjdH+yH0A/MJz8wn0pgePBIi0XjXBdE5Gv9FnHbG+e68o/c6OpHJG6f8gYXInLSeHcepAyfEthQVH/YtWtX0hKMEJhPfmA+lcDO9a6PBbiWiTBkynXvhp33Rz5k3D4Varl4UkQ+KyKRMm6K4yUi8ijwxvHJ84eGhoakJRghWbZsWdISjBCYT35gPpXA47e5zpsNBVosxpJpwUh3weO3Rj5k3D4VCi4+DbwJ+JOI/FJErg5yWRyDiDSJyPNE5FPAU8BPgP5gOSXo7e1NWoIRkq1bp+SAJu8wn/zAfCqBp//oRoXURpyTqq7J1TuwM/Ih4/Ypb4dOVV0rIl8FPgq8FrgMQES6gX24adfrcSNGTsQFKgI8BrxPVb8/sdIrC5u4zB9WrVqVtAQjBOaTH5hPJTDUFww3rYpWT6pcvcHoN7Nx+1SwQ6eq7lLVN+EmI3sb8FNci8Ry4DnAKtxMqY8BnwEuUNVzplpgAdDT05O0BCMkGzduTFqCEQLzyQ/MpxKome7yWGjEUYY64urVRp/CK26fQg1FVdVu4CvBCxGpwbVYpFX10MTJ84cZM2YkLcEIyerVq5OWYITAfPID86kE5p7qEmQNplw/irAMpKCmAeZEn4Qsbp9KGoqqqkOqutcCiyNYy4U/2J2WH5hPfmA+lcAzXwwNx0H6IKiGq6MK/QddvWe+JPIh4/bJ8lyUCWu58Ae70/ID88kPzKcSWHIxzAgyNQyEvEfPlJu5EJZcFPmQXrRcGMdio0X8obm5OWkJRgjMJz8wn0qguhae82YXKPQ+7Vok8rVgZFos+p4O5hh5c0mTmMXtU+T030ZuLM+FPyxfvjxpCUYIzCc/MJ9KZMUVbq6QTKbO9MEg3XfTkblFBlIusACY9QwXkJSQ+hvi98laLsqEZej0h/b29qQlGCEwn/zAfBoHq6+C530YFp4NTSfAUC90tcHTO9xyqNetX3g2PO8jJU9aBvH7NClaLkTklcDFwNm44bEzgO+q6utK2Nci4GPA5bgRMXuAnwHXqWpXvnq1tdGbqYxkmD9/ftISjBCYT35gPo2TFVfAsktdSu/Hb3UJsgZ73XDTOUtc580lF5X0KCSbuH2aFMEF8GFcUJECdgErStmJiCwFNuByd9wKtADnAu8CLheRC1X16Vx1h4eHSzmkkQAHDx5k5syZScswimA++YH5VAaqa+G0F7jXBBG3T6EfiwS5LSqV9+ASe80E3jqO/XwJF1i8U1VfqqofUNXnAZ8FTgc+ka/itGn2hMkX6uvrk5ZghMB88gPzyQ/i9inKf8QOEfmUiFTcLDWqeq+q7lANO2D4WIJWi8uANuB/xmxeC/QCrxeR6KnRDMMwDGMKESW4mAb8C/CEiNwtIq8QiZoYvaK5JFjepaqj2RtUtQd4AJgOnJer8ujoaK7VRgXS39+ftAQjBOaTH5hPfhC3T1GCi4XA64DfAM8HfgjsEpFPiMji8kuLndOD5fY823cEy5zjeaqrJ0v3lcnP7NkR0u0aiWE++YH55Adx+xQ6uFDVQVX9nqquwXWY/ByuQ+i/AU+KyO0i8hIR8bXzwaxgmS9dWmZ9TocGBwfLLsiYGPbt25e0BCME5pMfmE9+ELdPpc4tsl1V3wucxJHWjMuBnwDtInKtiCwsn8zKp6OjAxHJ+1q7di2bNm0CjuR437RpE6Ojo2zbto10Ok1raytdXV10dHSwZ88eOjs7aWtrI5VK0dLSwvDwMJs3bz5qH5llc3MzAwMD7Nixg+7ubtrb29m/fz/79++nvb2d7u5uduzYwcDAwOFMbWP3sXnzZoaHh2lpaSGVStHW1kZnZyd79uyho6ODrq4uWltbSafTbNu2jdHRUS/PqampadKdk/nkxzmZT36ck/kU7pwKPWqRcfSBdDsQmQVcCfwr7tFJhiHgy8D7VTW2DFMisga4l4h5LkTkv4D3Ae9T1etzbP8ibtr5a1T1y2O23ffsZz/74t/97nfj0m7EQ3NzM2eddVbSMowimE9+YD75wUT4tGbNGtavX78+eKJxFCU/whCR80TkZmA3bqhmI/AFXCKrfwSeAN6Be3ziA08Ey3w5Uk8Lljn7ZDQ22iASX7AfQj8wn/zAfPKDuH2KFFyIyAwRuUZENuNGT1yJSzT1JmChqr5bVf+gquuAZwH3AK8ss+aJ4t5gednYfiMiMgO4EOgDHspV2aZc9webItoPzCc/MJ/8oGKnXBeRr+NaKW7A3cV/GzhPVVer6tdVNZ1dXlVHgPuAOeWTO35EpEZEVgR5LQ6jqq3AXcBi3OOPbK7Dtcx8W1VzTn9qU677g00R7Qfmkx+YT35QyVOuXw3sxfWtWKSqV6nqI0Xq3Iebp2NCEZGXisg6EVkHfCBYfX5mnYj8d1bxk4DHgV/n2NU1wH7gCyLyMxH5pIjcg8sAuh34UD4N1nLhD3an5Qfmkx+YT34Qt09RkjNcrqp3Rdm5qj6Ae3wy0ZyNe0STzanBC+BPuM6aBVHVVhF5NkcmLnsRbuKyz1Nk4jJrufAHu9PyA/PJD8wnP6jYlouogUWcqOq1qioFXouzyraNXTdmX0+p6tWqeqKq1qrqKUFfkryBBUAqlSrvSRkTRmYImFHZmE9+YD75Qdw++ZrwquKw0SL+sHLlyqQlGCEwn/zAfPKDuH2K0qFzVERGiryGReSAiDwgIu8VkbqJFF9JpNPp4oWMiuDJJ59MWoIRAvPJD8wnP4jbpygtF/cDfwAEGMX1Y3gkWI4G65uBDtww1E8DD0yVWUTr6qZMHOU9ixYtSlqCEQLzyQ/MJz+I26cowcVrcPNvfB9Yqqqnqur5qnoqsDRYPxO4FJgPfAM4Bze6ZNIzNDSUtAQjJJ2dnUlLMEJgPvmB+eQHcfsUJbj4FHBAVV+rqu3ZG1S1XVVfC3QBnwqmKH8LbvjmK8qmtoKpqppMs89PbpqampKWYITAfPID88kP4vYpSnDxQuDuImXuxg3hzCTRuh9YUpo0vxjvHC1GfFgrkx+YT35gPvlB3D5FCS5m4B57FGJWUC7DgciKPMWCC38YHR1NWoIRAvPJD8wnP4jbpyjBRQvw6nxTqYvIIuDVuOyXGZ4BPF26PH+wxyL+MH369KQlGCEwn/zAfPKDuH2KElxcj5snZJOIfEhE1ojIM4Plh4GNwGzgMwAiUg28ADeiZNJjTYP+cODAlGlQ8xrzyQ/MJz+I26fQ6b9V9bsichLwcY6dL0SAYeBDqvrdYN1s4KPAw+UQWunYUFR/WLgwZ+ObUWGYT35gPvlB3D5FytCpqp8GTgfWAj/FTan+M1wQsUJV/zOrbKeq3qiqj5VRb8XS39+ftAQjJDt37kxaghEC88kPzCc/iNunKBOXAaCqO3GtF0YW9tzRH1asWJG0BCME5pMfmE9+ELdPUdJ/j4jId4uXnJrYxGX+8NhjU6IxzXvMJz8wn/wgbp+iPBbpAdqLlpqiWCIZfzjnnHOSlmCEwHzyA/PJD+L2KUpw8ShwxkQJ8Z2enp6kJRgh2bhxY9ISjBCYT35gPvlB3D5FTf/9IhG5dKLE+MyMGTOKFzIqgtWrVyctwQiB+eQH5pMfxO1TlODiBOAO4Jci8iMReb+IXCki/zD2NUFaKxrrc+EPmzZtSlqCEQLzyQ/MJz+I26coo0XWAYrLafHy4EWwLoME779VDnE+YX0u/OHss89OWoIRAvPJD8wnP4jbpyjBxdUTpmIS0NfXl7QEIyQtLS2ccYZ1H6p0zCc/MJ/8IG6fomTo/OZECvGd+vr6pCUYIVmyZPwT9Q4Oj/JAayd3btnLzs5e+odGqK+pYsm8Rl545gIuXDqP2upIOeqMMZTDJ2PiMZ/8IG6fIifRMnIzMDCQtAQjJLt372bp0qUl179r616+uaGNvd39HEoPkR4cYVRhmkDrn1P8ru0AC2bVc+X5i7ls5YIyKp9ajNcnIx7MJz+I26fIwYWIHA+8Angm0Kiq/5S1fgnQrKrpsqr0gJqamqQl5MXuso9mzpw5Jde95ZF21m1oY+8hl+59VkMNJ8yoZ5rAqEJqYJjO1CCdqUGuv3s7T/cO8ppzTy6X9CnFeHwy4sN88oO4fYoUXIjIG4AvAPUc6bz5T8Hm+cCDwJuAr5dRoxeMjIwkLSEndpd9LH19fRx33HGR6921dS/rNrTR0dXHnMY6ZtZXIyKHt1eJCzZm1lfT3T9MR1cf6za0Ma+pjkvPmF/OU5gSlOqTES/mkx/E7VOU9N+XAjcB24GXAV/O3q6qW4CtwEvLKdAXsv/JVAq3PNLO9XdvZ8vubjpTg0yvreaUuY0sPb6RU+Y2Mr22ms7UIFs6urn+7u3c8sjUSMA6bVr0VprB4VEXpB3qZ05jHbMaavJ6LiLMaqhhTmMdew/1s27DTgaHR8cre8pRik9G/JhPfhC3T1GO9n5gD3Cxqt4G7M9R5g9M0SyelRZcZN9lz2qo4RnHNTCroYaqaYKIUDVNjlqfucu+e9u+pKVPOKU8wnqgtZO93e5RyMz6cA1+mXJ7D/WzobUz8jGnOpX8qNE4gvnkB3H7FCW4eDbwf6raXaDMLmBqtK2PoZIei9hddmFKSXh255a9HEoPFfwsx5L5bA+lh7hjy97IHQ7d5QAAIABJREFUx5zqWGI6PzCf/CBun6IEF7VAb5Eys4HK+S8bI5UUvdtddmHmzZsXuc7Ozl7SgyM01UXrA91UV016cIS2p4t9dYyxlOKTET/mkx/E7VOU4KINKJac/DnAEyWr8ZhKGopqd9mF2bVrV+Q6/UNHOsJGITOKJD04JWPucVGKT0b8mE9+ELdPUYKLW4Hnisircm0UkauBvwB+XA5hvtHQ0JC0hMPYXXZhli1bFrlOfU3V4UAhCpmApKG2KvIxpzql+GTEj/nkB3H7FCW4+DTQDtwiIj8AzgcQkbcH728CdgA3lF2lB/T2Vs4/ZLvLLszWrVsj11kyr5GG2ipSA8OR6qUGhmmorWLx3MbIx5zqlOKTET9l8Wl4EHbcDbe9A26+Am66xC1ve4dbPzw4/mNMceL+PkVJ/90lIhfjJiXLbr34QrD8DfBaVa2c/7IxUkkTl2XfZVdFCDCmyl32qlWrItd54ZkL+F3bATpTg8fkt8iHqnIoPcS8plouP3NK9nMeF6X4ZMTPuH1q+QU8fCP07IF0FwylQUdBpkHnE9D+EMxcCOe+CVZcUR7RU5C4v0+RBr6qaruqrgHOBt4KfBh4B/CXqnqxqnaUX6If9PT0JC3hMHaXXZiNGzdGrnPh0nksmOnmj+nuD/e5ZsotmFXPBUut01tUSvHJiJ9x+bRxHdzzcdizGVL7obYRjlsMc09zy9pGt373Y67cxnXlET0Fifv7VFJWDVX9g6reqKr/oar/o6qJ/wqIyCIR+YaI7BaRARFpE5HPiUjolGQicp+IaIFX3tnJZsyYUZ4TKQMvPHPB4c6ZquE6CWTusmc11Ez6u+zVq4v1Sz6W2uppXHnBYhbMqudA70DBzzbzWR7oHWTBrHquumDJlEqvXi5K8cmIn5J9yrRYHHwKGmbD7FOgfjZMqwYRt6wP1jfMduUevhFabi/vCUwR4v4+TYpfPBFZCmzETQv/CPBZ4I/Au4AHRWRuxF1el+eV95a1klou7C67MKVG8JetXMBVFyzmpOOmcyg9xFNdaQ6lhxgZVVSVkVE9av1JxzVw1QWLLfV3iVjLhR+U5NPwoAsUundD41wXROR71CjitjfOdeUfudH6YJRA3N+nqHOL1AAvAc4FjgNyPZxXVX1DGbRF4UvACcA7VfVwh1IR+QzwHuATwFvC7kxVr40qoJJaLjJ32dffvZ2Orj6AvP0EVJXu/mEO9A4G/wwn/132eCL415x7MnMba/nmgy5J2aH0EE+nBo7qrzKvqfZwi4UFFqVjLRd+UJJPO9e7PhYAdbPC1ambBemDLsDYeT+c9oLox53CxP19Ch1ciMhC4G5gBW7SsnwoEFtwEbRaXIbLw/E/YzavxU2k9noRee9EdjatpNEi4O6yn+4dPDyDZ+aRR1Nd9VEzeB5KDwFMqbvs5uZmzjrrrJLrX7ZyAWtOP4ENrZ3csWUvbU+7ob+Z/iqXn7mAC6bYTLMTwXh9MuKhJJ8ev8113mwo0GIxlkwLRroLHr/VgouIxP19itJycT1umvVbgK8CT1HgMUGMXBIs71LVo/JWq2qPiDyACz7OA34dZoci8mrc9PGDwOPAPapaMEtWJeW5yGB32blZvnz5uPdRWz2NNaefwJrTTyiDIiMX5fDJmHhK8unpP7pRIU0Rf3PqmqCvEw7sjH7MKU7c36cowcVlwP2q+vcTJaZETg+W2/Ns34HTvpyQwQXw/THv94vI21T1R/kqVFKGzmzsLvtY2tvbOe2005KWYRTBfPKDknwa6guGm0Yc9i5Vrt5gZbUU+0Dc36co/1HqgYcnSsg4yDywO5Rne2b97BD7uhX4G2AR0IB7BPTJoO4PROTyfBV37dqFiOR9rV27lk2bNgFHOtZs2rSJ0dFRtm3bRjqdprW1la6uLjo6OtizZw+dnZ20tbWRSqVoaWlheHiYzZs3H7WPzLK5uZmBgQF27NhBd3c37e3t7N+/n/3797N39y7OObGeN/xFA9+88hw+fvEsvv+m83nV4iHWnH4CzZsfBWDz5s0MDw/T0tJCKpWira2Nzs5O9uzZQ0dHB11dXbS2tpJOp9m2bRujo6OJnVN7ezvd3d3s2LGDgYEBmpubc+4j1znV1dVNunMyn/w4J/PJnZPWNDCiMDo6RP/AAMMjIwwODTE4NMTQ8DADg4OMjI6S7u9HUfrSaQB6+1Ig0+gZGE3Op6F+nvzll+G2d9Bzw0Vw0yX03HAReus7aP/110mnDk0an4pde/39bg6rXEjYoYoi8jCwU1X/LlSFmBCRm4A3Am9U1a/l2P4J4IPAB1X1kyUe4+24zKOPqeqzcmy/77zzzrv4wQcfLGX3Rsy0t7dz8sknJy3DKIL55Acl+XTbO+CJX7o8FvVh7vsC0gdhqBdO/2t4cQLJoAsl/KppgIbjKjbh10R8n9asWcP69evXB/mvjiJKy8V/AS8WkTPKpqw8ZFom8nU5zqw/OI5jfA3Xv+RsEck5LGTatKnzWMF36uvzpisxKgjzyQ9K8umZL3b/iNMHIeQNLqrQf9DVe+ZLoh9zvHie8Cvu71OUPhf7gZ8DG0Tk87i8Ejn/Yavq/WXQFpbMLKz5eqtkHjLl65NRFFXtF5Ee3PDbRqBykloYhmH4xpKLYcaJ7p/xwKFwrRcDwX3kzIWw5KKJ1TeW7IRfjXPdsNjsUS4SJPyqm+V0ZhJ+NZ4AK14Ur9YKIUpwcR9umKkAHwn+zkeck1PcGywvE5Fp2SNGglaGC4E+4KFSDyAip+MCix6gM1eZ0dHRXKuNCqTQc0KjcjCf/KAkn6pr4Tlvdnf4B59y68b+w86g6v5h9z0Ns54B577Z1Y+LXAm/8pEZLgtHEn4te0G8evMQ9/cpSnDxMQoHFImgqq0ichduRMjbOHpW1utwLQ03Zue4EJEVQd2WrHVLgEOqeiB7/yJyPHBz8Pb7qppz+G11dbTpzY3kmD07wjNeIzYGh0d5oLWTO7fsZWdnL739gzTWd7BkXiMvPHMBF06xUU2+UPL3acUV0PvnI/+40weDu/+mYFTICAyk3KMQcIHFc94cf0vAJEn4FffvXpRZUa+dQB3j5RpgA/AFEXk+LjfFc3A5MLYDHxpT/vFgmR0mXwx8RUR+i0sdfgA4GXgRrt/G74F/zSdgcNDS0frCvn37mDlzZtIyjCzu2rqXb25oY2+3y8eSHhxheHSU6mlpWv+c4ndtB1gwq54rz1/MZSsn99w3vjGu79Pqq6DxeHjkpiDA6HJ5LLI7STadEHSSTCCwgEmT8Cvu371JcbsdtF48G9e6cjkuINgDfB64TlW7QuxmIy6/xWrgWcBM3GOQZuCHuNaPvBFEXV3duM7BiA8bgVBZ3PJI++FMsgCzGmo4YUY9MApMIzUwTGdqkM7UINffvZ2newd5zbnmYaUw7u/Tiitg2aXuDv/xW12CrMFe10FyzhLXeXPJRck9WpgkCb/i/t0rGFyIyEVAm6q2h9mZiKwCVqnqt8ohLgqq+hRu4rIwZY8JP1W1Gbiq1OOng3HYRuWzfft2SytdIdy1dS/rNrTR0dXHnMa6o+bASacHaWhoYFZDDTPrq+nuH6ajq491G9qY11Q3ZTLKVjpl+T5V17q7+wq4wz+GSZLwK+7fvWItF/fi+i18LLNCRN4P/Kuq5ppp9KXAR4HYg4ukaWxsTFqC94x95t4/NEJ9TVXZn7lbYFEZDA6Pukchh/qZ01jHrIaao7Znp9QXkcPb9x7qZ92GnVy8/Hjrg1EBTPrvU81094hGR9yokLDoiKtXWxn/G+L2qdgnlesBUz3hsl1OKSppynUfyfXMPTMHSrmfuW/cuNFm3Bwn5QgEH2jtZG+3exQys/7Yn6K+vl6mTz/6h3lmfTWH0kPsPdTPhtZOm9ulApj036e5p0LnEzCYipbwayDl+ozMWTJx2iIQt0+Tos9FJVBJU677Rr5n7tmzt5bzmfuk/iGMgXIFgndu2Xt4tt7/396Zh9lVVYn+t2q+VZVUkgohhAQSCCHMgeKBBjWFCGIjg4qtvpYmjvSgLba+T20bCQ7d/fprFXF4om0Tn/rU1wiCLSI8MAFl0mCBSCAEEwiEKVVJpeZxvT/2uVU3N3euM95av++738nd5+x91r0ru866e629luQIlMs2LGB6BaN3aIzbH3vRjIsYUPXz6biL4NkHXE6OfNtls0kn/GpdFE3CrxyErSdbU/QJW7mojEyfe1uqnmXznY+9tsbVZKmtkQPa0z73Ox9/qeJ7pnPnG+Xzw4ee5Yt3buOx3fvZ0z9Kc0MdR7a3cPQhLRzZ3kJzQx17+kd57Pn9fPHObfzwofzhWjv2uCJ6rY25f+MMDub2Vbc21jE0OsHO7nj4smc7VT+f0gm/YDqRVzGiTPiVh7D1ZMaFT9jKRfnk8rnn+gUL079YF7Q0TvncR8crS1xW9b+0AsJvQ3B4bHrFIxe5Vi6AqRWtodEJvz6aMQOqfj6lE37NXQID3W5FIl/K8vSKxWD39PbZGCTQAlu5SCz9/f1Ri5A4ivncc5G+Lu1zr4R0NUKjdIIwBJvqa6cMhVwMDg3mbE8bJKmGMBMBG/mYFfNp9QXOwJi3zCXH2veMO06OO4NicvzA9qgSfhUgbD2V8hc9dlk548hs2y3iR0BfMZ97LvzwuZ9wwgll95ntVGoIFgq+XLGwhadf6ad/ZPygnSIAqabUQW3gYnBSDbUsb59dcy6uzJr5lISEXwUIW0+l/JXYICIbshtFxNYkM5hNeS78CuhL+9xdwqTSaW2so7t/pGKf+/bt21m9enVFfWcrQRiCbzxxMb/d2cOe/tED8lukGRkZOaiSo6rSOzTGwtYGzj/RMnXGgVk1n+Ke8KsAYeupFOOixHynU8zKlY7ZkqHTz50dxXzu+Zipz33p0qUV9ZvNBGEInnX0QhbPbWJP/yj7hw9evahvOHg1Y/+wK+2zuK2JtUcvLEsWIxhm3XyKc8KvAoStp4LGhapaTEaJjI2NRS1C4BTKpghQK5SVTTHT515bhoExU5/7nj17aG1trajvbCUIQ7ChrobL1y7ni3du4/m9Lr4i8//U+Pg4tZ6OVZX9w+P0DIxy+PwU69eusARaMSHW82l81BUe23qrl8Z70CXFaj/KbTFdsS6WqwxBELaeLM+FT9TWVndwWbFsipmUmk2xmM89HzP1ucf2D2GMCcoQPO+ExXQPjE6thqVdL62NddRIDROTSv/IOL1Dznh3hsVyS/0dI2I7n574uau42veCi48YG5qOj9jzpMtdMXcJnPFB5+6ocsLWkxkXPqH5tiZVCUEE9BXzuefCD5/7bFhl8psgDcF3nXEE7S0NfPf+aQOju3+EiUmltkZINdSysLWBxW1NrF+7wgyLmBHL+bRl43Qpd3AVTVsPnS7lPtrvkmL1vwx3f96Vfu9YH6XEgRO2nsy48IlqNy6CCOgr5nPPhR8+98nJyvJjzGaCNgTPO2Exnccu4r6n93D7Yy+ys3uA3v5h2lqbWN7ewvknLmatT7VlDH+J3XxKr1js2wUt7Qdn1ZQ6l8a7sc0lu9q3y13fsih2Ozz8JGw9mXHhE9XuFgkioK+Yzz0TP33uzc3NFfWbzYRhCDbU1dB57KIpI3Tv3r3Mnz9/ZoIbgROr+TQ+Or1i0dJeuBaIyPT5/bvhoeth5RuqNgYjbD3ZzwCfiOXSoI8EtbPjvBMWs37tcg6f30zv0Bi79g7ROzTGxKSiqkxM6gHtfvjce3p6Ku47W0kbgovbmugZGKF3aCzval16xaJnYHTKlVGJIWh6Sgax0tOOzS7GAtzKRCmkr9u/220xrVLC1pOtXPhEtW9FDXJnRz6fe2bfmfjcsxN+DY6M0dz4su+l3OOIn2XsCwdfTm9F9iv4csmSJRX1M8IlVnraeqsL3kzNK63AGEyvYAztdbkrErbFtFTC1pMZFz4xPDwctQiBEvTOjlw+96HRiam+lfrccyX8Gp+YpK62xvdS7nEjiDL2QRuCmezYsYPjjz++4v5GOMRKT91/crtCWsv8f9fY6rJt9uwIRq4YELaezLjwiVj5HQMgjJ0d2T73mZIv4ZeIoiq+l3KPE0GWsQ/KEMxm1mR9TDix0tPYoLfdtMwYOKl1/Uart9Ju2Hoy48Inqr1wWVQ7OyqlUMKvwcEhmpuby0r4lST8TnaWC78NwVx0dXVx2mmnBTa+4Q+x0lN9s8tjoRNuV0ip6ITr11C99WrC1lN1OpojILaJZHwiioC+SilWwTNzlcnPUu5xIKoy9kEQmweWUZBY6an9KFdAbLTMH3sj/a7fghXByBUDwtaTGRc+0dfXF7UIgRPFzo5KKJbwa3Dw4KVPP0q5x4GoytgHwZYtW6IWwSiBWOnpuIsgNd+VPS8195AqDO9z/Y67OFj5IiRsPZlbxCfmzJkTtQihEGZAX6UUS/jV3Hzw0qcfpdzjQFRl7IOgo6MjahGMEoiVnlasgzmHucybI72F81ykGel1x7lLXEXTKiVsPZlx4RPVHnORSVgBfZVSLOHX4OBgzgDcmZZyjwNRlbEPgocffjheS+5GTmKlp7oGOPMKl9J73y7Xlp2hM42qMywGu6FtGZxxRdUm0ILw9WTGhU9Ue8xFNmEE9FVKsYRfqeZUzvaZlnKPA1GVsQ+CNWvWzHwQq4oZOL7oyU9WX+BqhaQzdQ7t89J9t07XFhnpd64QcIbFmVdUdepvCF9PZlz4xODgYNQiGB7FEn4NDw+TajrYwJhpKfc4EFUZ+yB44oknZrYv36pihsKM9RQEHeuh5RB46FuegbHX5bFI678+Ba2LPP1Xv2EB4evJjAufaGoqbxnaCI5iCb8aG3JnU51pKfc4EFUZ+yBYsWIGkftWFTM0ZqSnIFl9Aaw816X03nqLS5A1OuC2my5Y4YI3V7xu1qxcha0nMy58YmRkJGoRDI9iCb/GxsYOStfuRyn3OBBVGfsg2L17N0cffXT5Ha0qZqhUrKcwqGtw6byrNKV3OYStJzMufKK+vvRfiUawFEv4VVt38NJ/lAm//CRpyc4KsWDBgvI7hVEVM6g4joTGh1SkJyN0wtaTGRc+MTHhTyCcn4WmZivFSrlPTk6CZ1/4Wco9DkRVxj4IBgcHyy+5XmlVzKF901UxC/3KDSqOI8HxIRXpyQidsPVkxoVPlJpToBBBFJqarRSq4InCxKT6WsEzToRdvTQoamoqMHSCrIoZVBxHwuNDKtKTETph68mMC5+YqXERZKGp2Uq+hF8Tk0ptzWgsEn4FRRKSnRWjIldjUFUxg4rjCDo+JAhXS9aYC4f2Q2pu7N03s52wXfdVY1yIyFLgs8D5QDvwAvBT4BpV3VvGOAuAzwCXAIcB3cDtwGdU9bl8/WbiFgmj0NRsJVfCr319Q8ybk4pFwq8giXuys2L09/ezcGGZMSBBVMUMKo4j6PiQIFwtOcasnRyHmrrYu29mOxXNpxlQFcaFiBwN3AcsAm4BngDOAD4CnC8iZ6lqdwnjtHvjrALuBn4ErAbeA1wgIq9W1T/l6lupVZir0FQB+abOpwtNrVt1SGwfDnEhO+FXf3//rEl6FudkZ8Wo6A9hEFUxg4rjCDI+JAhXS54xVQVEY+++me2EaVhA9RQu+wbOsPg7Vb1EVT+pqq8HvgwcC3yhxHH+CWdYfElVz/HGuQRnpCzy7pOTSreiVlOhqaTw3HN5F6CMGFGRnoKoiulHHEcugho309WSmgfzjnR9aupc/xrP1TLvSHc+7Wp54rb89y0w5ujYWGVjGqES9t+9xBsX3qrFecBO4OtZp68GBoDLRKRgdiARaQUu867fkHX6a8AzwBtF5Khc/VOp3Cmli+FHoSmjPFauXBm1CEYJVKSnIKpipuM4Gspc7Wpsdf3yxXEEMW4uV0u+vytpQ6WlfdrVMj5a9phNTY3lj2mETth/9xJvXABne8c7VHUy84Sq9gG/AZqBVxUZ51VACviN1y9znEngl1n3O4CBgcoKPqULTbU2lueham2sY2h0IlaFppLCH//4x6hFMEqgIj2lq2LCdLXLYhSrihlEHEdQ41bqaoFpV0uZYw4NDZc/phE6Yf/dqwbj4ljvuC3P+ae846ogx6nUh19NhaaSwimnnBK1CEYJVKSndFXMuUtgoNutSORbwUivWAx2T9eYyBUgmRnHUQ6F4jiCGjcIV0uRMZtzrdqW4r4xQiXsv3vVENCZNqXz/UxJtxcIxZ75OFu2bKGzs5NNmzYd0N7Z2Vnwpi8c/w5kwZEHFJratWtX0UJo89vbqZGmqUJTGzduZOPGjQX7rFmzhmuvvXbqfVdXF1deeWXBPkDZnwng2muvPaAK35VXXklXV1fBPuvXr2f9+vVT74P6TH19fWzZsuWAtqR/JjA9pbn22mtZc+YVU0v5A9272TcCg+M1TOJ+UTXXTTKnzj3UXxmp58XWkzgrY2tn5mf6+KpnWbtwmKHebfSPT68ypFLNHLFs2dT7waEhdu16dup9a90EqdpJ7rvvcf5t47TcU3pqPwr2PMnzOw8cNxfLlh0x/RAf6Wf/8Dj3ZI0LcO2ap1jVOsjzQ33Mb59gYXv71Lk93d10d+eO0apBWZIaZfeDd3DMRdPtXV1dcPdNU2NO8tJBfScmJjn+uOMOaHty25NTY2676yY++qU/HNQvzv/3wOZTmkKfqdBnqwbjIhb09/ezefPmsvNdLEidzOL5h9M3PEqq1qWmHhjop7+/sLujNjWHlrYWWnUIgAcffJDNmzcX7DM0NMTIyAjbtm3jpJNOKqkPwAsvvMDk5CTNzc309PSU1Kerq4tjjz2W3bt3s2DBAh588EEeeOCBgn1WrVrF+vXr2bJlCx0dHfaZ7DNV/pne8Q729U2w8Omf8MrW39LEMIc2yNSK3+CY8ny/8tx+5asP9bF4HZwFOT9T6vk6jj6vkUUtwgt906sgk5PKpCrDw8M0p1IMDPTT1zcdSLpwnvBSr/K1u59l89PT8RHpzzR32dk0br+HJn3pgHFzMTg4SFNTI6MjozQM7aVncPKgcQFGj2lBm2vo7RugvjHFwvZ2BgYHaWluZmBg4AD5MhHgsMYaRgf3HaSnUwd6p8bMx+iYS8hWU1PD+Pg4fX39U2OODfbm1FvV/t+zzwRUh3GRXlHI52BMt+8LcpzW1lY6OjrKtnYHG/uob25k//AEbfNTiAgtLa2I5PdYKaD1KdpS9by705XQPfPMM9m6dWvBe61Zs4bGxkZOOumkqT7r1q0r2AfgsMMOm/r3/PnzS+qzZs0aUqnUVKGcM88886BiYdmsXbsWgI6Ojqk+QXymvr6+qvtMYHrKvFcqlSLV+T54zWXc/sn/ztL9D3N4aoSm2kmGJ2p4fqiRe/bM4+G9rYwfVsNbC3ymMZlksO5p6uuHOGx+7dQqQyrVTI3I1IpCS0src+Y492hr3QT1dRMM1KYYX3Ya65ZOz+epz3Tom+HRjdR37zpg3Fw0NzdTIzU0MQwijDS2M77suAPGBWhoeQqpGaRtTmrKVdvS3OzJ18Lw8FDO8WtQpGaUhpZ5B+mJrW1TY05y8I+niYlJGjK24tfV1jJnTuvUmPXNc1i37vS8eorj/z2w+ZR5r3yfqauri97e3Iv9oqVGVMcUEXk/8G3gW6p6RY7zv8TtJnmDqt5VYJw3AHfiAkPfmOP89cAHgfer6neyzm1at27dumzDohRGxyd5zw0P8dju/bSl6ksqNNU7NEbv0BgnHj6XG9afYXkuDCNonvi5y92QL5NmGlUXIDrYDW3L4PVXFc/Q6ee4t34YnvyFi8colJQrm6F9MDYAx74JLvpq8GMaVUFnZyebN2/erKqd2eeq4an0K+94nmT93BeRObjVzkGg2DrOA8AQcJbXL3OcGpyBknm/A6h0t0i60NTitiZ6BkboHRojn8GXLo3dMzA6lbbZDIvy+cMfDvb/GvEjVnpafYELFJ23zD009z3jjpPj7sE/OX5ge9syd32xFN1+jxvEVtwiYw4O5VgNKTamETphz6fEu0VU9WkRuQP38P9bINNEvgZoAa5X1amnv4is9vo+kTFOv4h8D7c6sQH4WMY4HwKWA7/Ml6Gz0jwXUD2FppLCqlXFNg4ZcSB2eupYDy2HwEPfclssh/a6eiTplNr1KWhdNL3zpJTaH36Pm96K2/+yW+koZaWh2FbcImM2NTWVP6YROmHPp8QbFx5/g0vbfZ2InANsBc7E5aTYBnw66/q0Qyt7/fEfgE7g70VkDfAQcBxwMfAyznjJSaUZOtNUQ6GppPDss89yzDHHRC2GUYRY6mn1BbDyXJe7YestLpHV6IBzGSxY4X6lr3hd+YW7/Bo3vRU37WqB0l0t+bbiFhlzdHSUpnRcQaljGqET9nyqCuPCW704nenCZX+GK1z2FcooXKaq3SLyalxmz0uA1+IKl91AkcJlDQ0zn0BJLzSVFA491AyzJBBbPdU1uJoe+ep6RD3u6gtcXY90Vs2hfV5l1dbp2iIj/c5tAaW5cAqMWV9X69w35Y5phErY86kqjAsAVd2FKzBWyrV594uqag+ulshHyrn/+Ph4OZfnJcmFppLCvn37mDt3btRiGEUwPc2AIFw4ecaUyQmoqa3cLWSEQtjzqWqMi6ipqbHVhKSQ00dsxA7T0wwJwoWTY8yJwV5qmttm5hYyAifs+WTGhWEYRrUShAsna8y9L7/MokW20mociP3c9onJycniFxmxYHg4R6ElI3aYnpKB6SkZhK0nMy58oq7OFoGSwrx5ZSQCMiLD9JQMTE/JIGw9mXHhE6Ojo1GLYJTISy8dXHzJiB+mp2RgekoGYevJjAufKJY/3ogPRxxxRNQiGCVgekoGpqdkELaezLjwiaFcKXCNWLJt27aoRTBKwPSUDExPySBsPZlx4RMtLS1Ri2CUSLqSoBFvTE/JwPSUDMLWkxkXPtHX1xe1CEaJbNmyJWoRjBIwPSUD01MyCFtPZlz4xJw5c4pfZMS/i6MCAAARUklEQVSCjo6OqEUwSsD0lAxMT8kgbD2ZceETtnKRHOyXVjIwPSUD01MysJWLhGIrF8nBfmklA9NTMjA9JQNbuUgo/f39UYtglMgjjzwStQhGCZiekoHpKRmErSczLnzCdoskhxNOOCFqEYwSMD0lA9NTMghbT2Zc+ITluUgO27dvj1oEowRMT8nA9JQMwtaTGRc+YRk6k8PSpUujFsEoAdNTMjA9JYOw9WTGhU+MjY1FLYJRInv27IlaBKMETE/JwPSUDMLWkxkXPlFbWxu1CEaJtLa2Ri2CUQKmp2RgekoGYevJjAufUNWoRTBKxFaZkoHpKRmYnpJB2Hoy48InzLhIDpOTk1GLYJSA6SkZmJ6SQdh6MuPCJ8wtkhyam5ujFsEoAdNTMjA9JYOw9WTGhU/Y0mBy6OnpiVoEowRMT8nA9JQMwtaTGRc+YVtRk8OSJUuiFsEoAdNTMjA9JYOw9WTGhU8MDw9HLYJRIjt27IhaBKMETE/JwPSUDMLWkxkXPmF+x+SwevXqqEUwSsD0lAxMT8kgbD2ZceETVrgsOXR1dUUtglECpqdkYHpKBmHryYwLn7BEMsnhtNNOi1oEowRMT8nA9JQMwtaTGRc+0dfXF7UIRols2bIlahGMEjA9JQPTUzIIW09mXPjEnDlzohbBKJGOjo6oRTBKwPSUDExPySBsPZlx4RMWc5EcHn744ahFMErA9JQMTE/JIGw9mXHhE1YZMDnccsstUYtglIDpKRmYnpJB2HoSq4kxc0RkE7DOvstkICJWCyYBmJ6SgekpGQShp87OTjZv3rxZVTuzz1XFyoWIrBWR20SkR0SGRORREblSRMoq+CEiWuD1QFDyG4ZhGEY1URe1ADNFRC4GfgIMAz8GeoALgS8DZwFvL3PIZ4CNOdqfq1xKwzAMw5g9JNq4EJG5wLeBCaBTVX/ntV8F3A1cKiLvVNUflTHsTlXd4LuwhmEYhjFLSLpb5FLgEOBHacMCQFWHgX/03v51FIIZhmEYxmwl0SsXwOu94+05zt0DDAJrRaRRVUdKHHOeiLwXWAz0AltU1eItDMMwDKNEkm5cHOsdt2WfUNVxEdkBnAAcBWwtccxTgO9kNojII8BlqvqHPH1WgoucNZKB6SoZmJ6SgekpGfitJ69eycpc5xK9FVVEtgHHAMeo6vYc538DrAXWqur9JYz3RVxw6DZcgOhq4BM498seYI2qPp+j3++B44GGAsM/A+wsJoMRCssxXSSB5ZieksByTE9JYDn+62kl8Iqqnpp9IvKVCxHZCRxZRpcfqOq7g5BFVT+W1fQ74O0iciPwNuDjwEdz9DvoizUMwzCM2UrkxgXwNG6VoFR2Z/y71zu25bk23b6vXKGy+CbOuHjdDMcxDMMwjKoncuNCVc+ZQfcngdOBVcABJd9EpA5YAYwDf5rBPQBe8Y4tMxzHMAzDMKqepG9Fvds7np/j3OuAZuC+MnaK5ONV3nGmRophGIZhVD1JNy5uxAVavlNETk83ikgT8Hnv7f/K7CAizSKyWkSOyGo/WUTqs28gIicDX/Defj/r3FIR+Q8R2S0iIyKyU0SuFZH5M/9ohl94esmX1v3FqOWbTYjIpSLyVRG5V0T2ezr4fpE+vqT3N8qjHF2JyPIi5RPKSWRolIiItIvI+0XkZhHZ7s2PXhH5tYi8T0RyPuPDmFORu0VmgqruF5EP4IyMTd5/4B7gItw21RtxKcEzOQP4FbAZ6Mxo/3vgQhG5F9gFjOB2i5wP1OIygf4wfbGIHA3cBywCbgGe8Mb+CHC+iJylqt1+fl5jRvQC1+Zo7w9bkFnOP+K2e/fjUuqvLnRxAOn9jdIpS1cejwA/zdH+mI9yGdO8HfcD+gXcc+1Z4FDgrcC/A28SkbdrxrbQ0OaUqib+5X0htwF7gSHgD7hdHbU5ru0EFNiU1X4JcBOwHdgPjHoK+xlwUY5xfumN8+Gs9i957d+M+nux15ROduLSukcuy2x/AWfjto9Lxlz8fp5r5wIv4wz90zPam3CGvQLvjPozVeurTF0t985vjFru2fTCJZK8EKjJal+MMzQUeFtGe2hzKuluEQBU9Teq+meqOl9VU6p6kqp+WVUncly7SVVFs0rEqupPVfWtqrpSVeeqaoOqHqaqF6rqrZnXeqsW5+EeWl/PusXVwABwmYhYAKhhZKCqv1LVp9T7i1YES+8fIWXqyogAVb1bVX+mqpNZ7S/idjnCgSv0oc2pRLtFIuRs73hHDqX2ecm7zsMFgt4VtnBGThpF5N3AETjj71HgnlwGqBEbgkjvbwTLEhG5AmgHuoH7VfXRiGWarYx5x/GMttDmlBkXlZE37bjHUzjjYhVmXMSFxcD3stp2iMh7VHVzFAIZRQkivb8RLOd6rylEZBNwuao+G4lEsxAvFcNfem8zDYnQ5lRVuEUiIJ2cqzfP+XT7vBBkMYpzA3AOzsBoAU4Crsf5iX8hIqdEJ5pRAJtnyWEQ+BzQAcz3XutwQYadwF3mJg6VfwFOBG5T1V9mtIc2p8y4MKoeVb3G802+pKqDqvqYqv4VLvg2BWyIVkLDSDaq+rKqfkZVH1bVfd7rHtwK7oO4GhTvj1bK2YGI/B3wMdwOxsuiksOMi8oIK+24ESzpgCdL6x5PbJ4lHFUdx22JBJtngSMiHwK+AjwOnK2qPVmXhDanzLiojCe946o854/xjvliMox4YGnd403eeeZzen8jWGyehYCIXAl8FZdT5Gxvx0g2oc0pMy4q41fe8bzsDGgiMgeXd2MQeCBswYyysLTu8Sas9P5GsNg8CxgR+QQuCVYXzrB4Oc+loc0pMy4qQFWfBu7ABQT+bdbpa3AW+vdUdSBk0YwsROS4XIFkIrIc+Jr3tmD6aSMyyk7vb0SDiJyWK9W0iJyDS2gINs8CQUSuwgVwbgHOUdU9BS4PbU6J5UepjBzpv7cCZ+JyYGwD1qql/44cEdmAC266B3gG6AOOBi7AZaW7DXiLqo5GJeNsQkQuwWXDBbd75424X7T3em17VPXjWdffiEtVnCu9/59bkqdgKEdX3nbTY3B/E5/zzp/MdF6Fq1Q1/fAyfEJELgc2AhM4l0iuXSA7VXVjRp9Q5pQZFzNARJYBn8UtMbXj0oXfDFyjqnujlM1wiMg64K+AU5neiroPt3z4PdwKk02CkPCMvasLXPKMqi7P6nMW8Gng1TiDcDvwH8B1lgQtOMrRlYi8D3gLbvvjQqAeeAm4H/iaqt6bbxCjckrQEcDm7IzUYcwpMy4MwzAMw/AVi7kwDMMwDMNXzLgwDMMwDMNXzLgwDMMwDMNXzLgwDMMwDMNXzLgwDMMwDMNXzLgwDMMwDMNXzLgwDMMwDMNXzLgwDGNGiMgmEamqhDkicoyI3CwiL4qIikjglVdFZKeI7PRhHPUyZhpGZNRFLYBhGO6B4P3zWeBYVR3Occ1O4Eig3itlbQSAiNQCPwVW4rK4PodLlVyoz3JgB/BdVV0frISGEX/MuDCMeHEEcCWuEJERDSuA44Fvq+oHQ7zvOSHeyzACxdwihhEf9uKKCH1SRBZGLcwsZol33B3mTVX1aa/ismEkHjMuDCM+DAKfA9ooXowIABHp9HzsG/KcP8iPLyLrvT7rReRcEblXRPpF5BURuUFE5nnXnSoi/yUie73zt3rL//lkaRSRz4vIDhEZEZGnReRqEWnIc/1qEdkoIrtEZFREXhKR/yMix+a4dqMn81Ei8mEReVREhkqNLRCRDhH5iYi87Mn2jIh8Q0QOy7pOgc3e26u9e+b9fr0+G3AuEYDLM/qoiKz3rpnSk4icISI/F5Eer225d00uXbWJyP8QkbtF5Dnve3rF08WrS/ns3jhzROQqEXlMRPaLSJ+nnx+LSEep4xhGqZhbxDDixdeBDwFXiMh1qvpUgPe6CHgz8F/AN4G1wHpguYh8CrgLV177O8BJwIXAUSJysqpO5hjv/wL/DVe2eQy4GNgAnC4iF2VWnxWR84GbcNUzf4aryrgUeCtwgYicraoP57jHV4DXAj8HbsOVmi6IiLwZ+AkgnmzPAB3AXwMXi8hrVDVtHFwDLAcuxxkZm7z2TeRnEzAP+AjwCC5eI01X1rWvBj4F/BpXhXIhMFpg7OOALwD34D7zXpzr7CLgTSJyoareXqA/IiLA7Tj93g/8OzCO+77Pxul4S6ExDKNsVNVe9rJXxC9Agee8f1/qvb8p65qdXntdRlun17Yhz7g7gZ1Zbeu9PuPAuoz2GuBO71wP8BdZ/b7jnbs4q32T174NmJ/R3oR7mClwWUb7fNxDcg9wfNZYJwL9wMNZ7Ru9cZ4HVpTxvbYC3Tgj5LVZ5z7hjXlHVnvB7zTPfZZ7fTbmOZ8eU4ErytBVG7Awx7VLcW6brXn+L23KeH+S13ZzjmtrMnVmL3v59TK3iGHEDFW9EfdQfouIvCbAW/1QVdMuANStRnzPe/uYqv4g6/r/7R3X5Bnvc6q6N2O8YdyvdID3Zlz3l7hf+ler6uOZA6jqY8C3gVNF5Pgc9/hXnV5lKIWLgQXAj1X13qxzX8Q90M8VkSPKGHMmdKnq9aVerKq9qronR/tzuFWY1WXIPpRjnMlMnRmGX5hbxDDiyceA+4B/A14V0D1+l6MtHcSYa5n8ee+4NM94m3O0/Rq3anBqRls6VuCUPLEMq7zjccDjWeceynPvfJzmHe/OPqGq4yJyD27V4VTcNuCgKVd+ROQsnMvl1cAiIDuG5XAKy/44zj3zLhE5ErgFp5ffqWohl4xhVIwZF4YRQ1T1fhG5EbhURN6hqj8O4Da9OdrGSzhXn2e8l7IbvAf4HtxDMU27d/xAEflac7S9WKRPNm3e8YU859Pt88oct1LKkl9E3oJboRjGuayeBgaASZyrZR3QWGgMVZ0QkdcDn8G53P6nd6pPRL4LfEpV+8uRyzCKYcaFYcSXT+GW9f9ZRG7Oc006sDLfXJ4HBJ5d0uNQsn5Bi0gdLmhxf0Zz2nA5RVUfLfMe5WYCTd9rcZ7zh2VdFzTlyv85XMDn6aq6NfOEiFyPMy6K39S5Pj4KfFREVnr9rsAFD88DLitTLsMoiMVcGEZMUdXtwDdwSZ0+nOeytL98WfYJ7yHSlt0eILkedK8BaoHfZ7Q94B1fG7hE0/ftzD7hGT5pGXLtTCmH9K6V2hmOk81K4PEchkUN7rstG1XdrqrfwemrH2fAGoavmHFhGPHms7iVh0+T203wBG5V4GIRmXI9iEgKuC4UCae5SkTmZ8jQBPyz9/aGjOtuwH2mq0XkjOxBRKRGRDp9kumnuJ0v7xKR7NiVK3GG2/9T1ZnGW+zFrUr4HRi6EzhGRNKJvdJbSzfgsogWRURWiMhROU7Nx7lUDgr0NIyZYm4Rw4gxqtojIv8E/Gue82Mi8hXgKuD3nvukDjgXF5wZZpbJrcAfvViRdJ6Lo3H5GdK7UFDVbhG5FLgZeEBE7gL+iHs4L8MFLrbjtrLOCFXtF5H3Av8JbBaR/8S5bjqA83AxEFf4dJ8HgdeKyA9w23IngFsrcP1k8mVcDpLfi8hPcN/rWTjD4me43CPFOAW4SUR+i9PRbuAQnH7qmY7BMAzfMOPCMOLPdcDf4HY15OJqXHbPDwAfxD0wf4T7dZu92yJI/hxn5PwFLoX2854M/6KqB8QaqOpdInIy8HHgjTj3xCjuwXc3LumVL6jqLd6Oi3/w7tWG+46+ids+65cBdhnOGDgfeBcuaddzQMXGhapeLyIjuFWWy3GrDPcC7wHeRmnGxe9wtWrWebLNB17B7Qi6TlV/Ual8hpEPyZrzhmEYhmEYM8JiLgzDMAzD8BUzLgzDMAzD8BUzLgzDMAzD8BUzLgzDMAzD8BUzLgzDMAzD8BUzLgzDMAzD8BUzLgzDMAzD8BUzLgzDMAzD8BUzLgzDMAzD8BUzLgzDMAzD8JX/DwYn8Co5V0tCAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "\n",
    "# ---------- axis\n",
    "dx = 1    # margin in xtick\n",
    "ax.set_xlim([1-dx, ndata+dx])\n",
    "ax.set_ylim([-0.5, 3])\n",
    "\n",
    "# ---------- hline at zero\n",
    "ax.hlines(0.0, -dx, ndata+dx, 'k', '--')\n",
    "\n",
    "# ---------- plot\n",
    "#ax.plot(rslt_data['E_eV_atom'] - Emin, 'o', ms=15, mew=2.0, alpha=0.8)\n",
    "\n",
    "\n",
    "# ---------- color coded by generation  \n",
    "tx = 0\n",
    "for g in range(1, gmax+1):    # generation starts from 1\n",
    "    gfilter = rslt_data['Gen'] == g\n",
    "    num = len(rslt_data[gfilter])\n",
    "    x = np.arange(1, num+1) + tx\n",
    "    ax.plot(x, rslt_data['E_eV_atom'][gfilter] - Emin, 'o', ms=15, mew=2.0, alpha=0.8)\n",
    "    tx += num\n",
    "\n",
    "# ---------- title and label\n",
    "ax.set_title('Evolutionary algorithm for Na$_8$Cl$_8$')\n",
    "ax.set_xlabel('Number of trials')\n",
    "ax.set_ylabel('Energy (eV/atom)')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ---------- save figure\n",
    "fig.savefig('Na8Cl8_EA.png', bbox_inches='tight')    # PNG\n",
    "#fig.savefig('title_RS.png', bbox_inches='tight', dpi=300)    # high dpi PNG\n",
    "#fig.savefig('title_RS.pdf', bbox_inches='tight')    # PDF"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.5"
  },
  "toc": {
   "nav_menu": {
    "height": "84px",
    "width": "252px"
   },
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": "block",
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
